﻿using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Common;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.Common.Exceptions;


namespace Sinacor.UI.Bovespa.Alocacao.Presenter 
{
	public interface IDivergenciaCentralDepositaria : IAlocacaoBase 
	{
		/// <summary>
		/// Atualiza a Grid de divergências de alocações de negócios na central depositaria.
		/// 
		/// </summary>
		void AtualizarListaDivergenciasCentralDepositaria();

		/// <summary>
		/// Exibe mensagem ao usuário solicitando a confirmação para reenvio de mensagens
		/// das divergências selecionadas
		/// </summary>
		bool ConfirmarReenvioMensagens();

		/// <summary>
		/// Exibe mensagem ao usuário solicitando a confirmação para reenvio de todas as
		/// mensagens de divergências
		/// </summary>
		bool ConfirmarReenvioTodasMensagens();

		/// <summary>
		/// Exibe mensagem ao usuário informando o sucesso na execução da conciliação.
		/// </summary>
		void InformarSucessoExecucaoConciliacao();

		/// <summary>
		/// Exibe mensagem ao usuário informando o sucesso no reenvio das mensagens de
		/// divergências.
		/// </summary>
		void InformarSucessoReenvioMensagens();

        /// <summary>
        /// Exibe mensagem ao usuário informando Pesquisa Sem Retorno
        /// </summary>
        void InformarPesquisaSemResultado();

		/// <summary>
		/// Seleciona a data de pregão conforme a data de movimento enviada no parametro.
		/// </summary>
		/// <param name="model"></param>
		void SelecionarDataPregaoDivergenciaCentralDepositaria(Model.InformacoesMovimento model);

        /// <summary>
        /// Exibe mensagem informando ao usuário que existem mensagens que não serão enviadas.
        /// </summary>
        void InformarMensagemNaoEnviada();
	}

}